#ifndef __ATCMD_H__
#define __ATCMD_H__

#include "Types.h"

#define AT_CMD_PREFIX 		"AT"
#define AT_CMD_CONCAT      	"+"
#define AT_CMD_JOIN_PARAMS 	"="
#define AT_CMD_SUFFIX 	    "\r\n"

#define AT_CMD_OK           "OK"
#define AT_CMD_ERROR        "ERROR"


// AT指令缓冲区大小
#define AT_CMD_BUFFER_SIZE 128
#define PARAM_BUFFER_SIZE 64 // 参数缓冲区大小
#define RESPONSE_BUFFER_SIZE 32 // 响应缓冲区大小

// AT指令缓冲区
extern xdata char at_cmd_buffer[AT_CMD_BUFFER_SIZE];


// 构造AT指令
char* GetAtCommand(const char* cmd, const char* param);

//// AT指令状态
//typedef enum {
//    AT_IDLE,                // 空闲状态
//    AT_START,               // 开始处理指令
//    AT_SENDING,             // 发送AT指令
//    WAITING_RESPONSE,       // 等待模块响应
//    AT_SUCCESS,             // 操作成功
//	AT_ERROR,				// 操作错误
//    AT_TIMEOUT              // 操作超时
//} AT_Command_State;
//AT_Command_State AT_Cmd_State = AT_IDLE;   // 当前状态

#endif